Mesh networking (topology) is a type of networking where each (network) node must not only capture and disseminate its own data, but also serve as a relay for other nodes, that is, it must collaborate to propagate the data in the network.
FIG. 1 shows an exemplary mesh network architecture with a plurality of nodes 10. A mesh network can be designed using a flooding technique or a routing technique. When using a routing technique, the message propagates along a path, by hopping from node to node until the destination is reached. To ensure all its paths' availability, a routing network must allow for continuous connections and reconfiguration around broken or blocked paths, using self-healing algorithms.
ZigBee is a mesh network that relies heavily on a network device called the coordinator. Such a coordinator is assumed to be always available and therefore always powered. In a lighting system intended for the home in a consumer market, this is a heavy constraint. For this reason, other methods were found to benefit from the ZigBee network functionality (especially routing) without the need of having a coordinator. These other methods and other network operations heavily rely on inter-PAN (Personal Area Network) messages. Inter-PAN messages can be transferred between devices that are on the same channel. A special flag in the message indicates to by-pass the ZigBee Network layer and for this reason, the two communicating devices do not need to be part of the same ZigBee network.
The ZigBee specification ([ZigBee] 053474r19, October 12) describes in section 3.6.1.2 how devices should join a network through a Medium Access Control (MAC) Association. Prior to doing such a MAC Association, devices should perform a network discovery as described in section 3.6.1.3 of the ZigBee specification. Typically, devices that have not yet joined a network search for an “open” network they can join.
FIG. 2 shows a schematic flow diagram of a conventional ZigBee network discovery procedure for obtaining an association in a PAN.
After the procedure for network discovery has started (S), a first channel is determined in step S210 and the scanning system is switched to the determined channel in step S220. Then, in step S230, a single-channel network discovery for an association with a PAN is performed by sending out a beacon request command and waiting some time for a beacon response. In step S240 it is checked whether the current channel is the last channel to be scanned. If not, the procedure branches off to step S250 where the next channel is determined. Then, the procedure continues with step S220 and a new single-channel network discovery is started. If it is determined in step S240 that the current channel was the last channel, the network discovery procedure ends (E). This whole procedure can be executed once, or can be repeated, possibly indefinitely.
The ZLL profile addresses devices and functionality in the over-the-counter, consumer lighting application domain. It is based on ZigBee-Pro and utilizes clusters defined in a ZigBee Cluster Library. The ZLL specification describes an additional way to join a network, called touchlink commissioning. Typically, a user may use a ZLL remote control to “touchlink” a ZLL lighting device or application. This instructs the ZLL device or application to either start a new network or to join an existing network of the ZLL remote control.
Thus, the touchlink commissioning mechanism will give the consumer a simple and intuitive experience when connecting devices together. Touchlinking is a method of finding devices in the neighborhood based on received signal strength. A touchlink action is easy for the user to understand and can replace buttons on a device that would otherwise be required to facilitate commissioning. The touchlink operation is divided into two parts; device discovery and transferring network settings. The result of device discovery is a list of device information which includes network capabilities, device type and whether a device is already participating in a mesh network.
FIG. 3 shows a schematic flow and signalling diagram of a device discovery procedure based on the touchlink initiator procedure according to section 8.4.1.1 of the above ZLL specification.
In the diagram of FIG. 3 the time proceeds from top to bottom, as indicated by the arrows marked with “t”. A touchlink target device (TT) stays at a fixed channel, e.g., channel 20 (CH20), and listens to scan request commands (step S310). The touchlink initiator device (TI) first switches to channel 11 (CH11) and broadcast five consecutive inter-PAN scan request command frames (SR), with a duration (aplcScanTimeBaseDuration) of 0.25 s between those broadcasts (in which an inter-PAN scan response command frame from the touchlink target device (TT) could be received), followed by a single broadcast at each of the other ZLL primary channels 15, 20 and 25 (CH15, CH20 and CH25), with a duration (aplcScanTimeBaseDuration) of 0.25 s between those broadcasts. Accordingly, the touchlink target device (TT) will detect or recognize the scan request command which is issued on the same channel 20 (CH20) and will then handle the scan request command in step S320. More specifically, the touchlink target device responds to the scan request command by sending an inter-PAN scan response command, which the touchlink initiator device receives. The touchlink initiator device then has enough information to select the touchlink target device for the next step in the touchlink procedure. The processing in step S320 should be finished before the touchlink initiator switches to the next channel (CH25 in the present example).
A device implemented according to the ZLL specification that is not yet in a ZigBee network would typically search for a network to join (through MAC Association), but at the same time a user may be trying to discover the device by the above touchlink initiator procedure using e.g. a remote control device. Thus, in this case, the device would also act as a ZLL touchlink target device.
However, these network discovery for PAN association and device discovery for touchlinking procedures interfere with each other, causing either or both to fail. Typically, this would cause the touchlink procedure (which is a user-initiated action) to fail, which may cause the user to get frustrated and get a low esteem of the product's quality.
The reason for the interference is that the network discovery procedure for MAC association requires the ZLL device to scan over a set of RF channels, while for being ZLL touchlink target device the ZLL device is normally required to stay at a fixed channel.
FIG. 4 shows this interference based on a schematic signalling diagram of a device discovery procedure by a touchlink initiator device (TI) similar to FIG. 3 and a concurrent network discovery procedure by a device (NDD).
As can be gathered from FIG. 4, the touchlink initiator device (typically a ZLL remote control device) trying to find the touchlink target (typically a ZLL lighting device) cannot find it, as the touchlink target device (which continuously switches through the channels in accordance with the above ZLL specification and broadcasts respective beacon request commands (BR)) is never at the right moment at the channel the touchlink initiator device uses to transmit its scan request commands (SR). The channels can be scanned in any order, but the ZLL Profile specification Version 1.0 ([ZLL]; 11-0037-09, Mar. 26, 2012) states that first a primary channel set (channels 11, 15, 20 and 25) must be scanned, followed by a secondary channel set (channels 12, 13, 14, 16, 17, 18, 19, 21, 22, 23, 24 and 26), as specified in sections 8.5.1 and 8.1.2 of the above ZLL specification.